Operating systems typically provide an environment in which computer programs run. Operating systems enable computer programs to communicate with a variety of electronic devices, such as various input/output devices. For instance, the MS-DOS operating system, created by Microsoft, provides for communications between disk drives and the software instructions executed on a personal computer running under the MS-DOS operating system. Since the origination of MS-DOS, operating systems have evolved into an all-encompassing bridge between the electronic hardware devices forming the computer and the software running on the computer. Today's operating systems make the computer easier to use by creating a "virtual machine" that shields the user from the details of interactions with a variety of computer hardware, and by controlling the distribution of hardware resources, such as memory and processor time.
A number of different operating systems exist, each one providing different methods for communicating with computer hardware. Representative operating systems include: UNIX, SunOS, Solaris SVR4, DOS, Windows, and Windows NT. Each of these operating systems interacts differently with the underlying computer hardware, and accordingly each requires different software instructions to implement an operation, and more importantly each operating system makes use of different methods to achieve the same general task, such as saving a program on a floppy disk.
The environment formed by any particular operating systems may provide methods for starting, maintaining, and terminating a program that differ dramatically from the methods utilized by another operating system. For instance, the MS-DOS operating system fails to provide for the graphical user interface utilized in later Window Operating Systems. These differences in operating systems require software applications to interact differently with various operating systems to communicate with the underlying electronic hardware. Accordingly, software application programs written under a first operating system must be altered to successfully execute under a second different operating system.
Software interpreters exist which reinterpret a set of software instructions written for execution under a first operating system, such that the reinterpreted set of software instructions are executable by a second operating system. For example, the NuTCracker product, from DataFocus, can interpret a UNIX program so that it can run on Windows NT. However, these software interpreters do not guarantee that the set of software instructions will execute in a manner that achieves the same results obtained under the original operating system, rather the software interpreters only guarantee that the interpreted software instructions are executable. To obtain a new set of instructions capable of operating under the new operating systems in the same manner that the set of instructions operated under the old operating system, something must account for the differences in how the operating systems interact with the underlying computer hardware.
Accordingly, an object of the invention is to provide a data processing method that enhances the portability of a software system architecture between operating systems
Other general and specific objects of this invention will be apparent and evident from the accompanying drawings and the following description.